package cn.aitrox.ry.service.anno.service;

import cn.aitrox.ry.bean.RespResult;
import cn.aitrox.ry.service.anno.dto.anno.result.in.AnnoResultSearchInDto;
import cn.aitrox.ry.service.anno.dto.anno.result.out.AnnoResultDto;
import cn.aitrox.ry.service.anno.dto.anno.result.out.AnnoResultExportResultOutDto;
import cn.aitrox.ry.service.anno.dto.anno.result.out.DeepzoomUrlOutDto;
import cn.aitrox.ry.service.anno.dto.anno.result.out.SeriesGetResultDto;
import cn.aitrox.ry.service.anno.entity.AnnoResultEntity;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface AnnoResultService {

    RespResult<AnnoResultEntity> checkAr(Integer userId, Integer arId);

    void yay(Integer arId, Integer yay);

    RespResult submit(Integer userId, List<AnnoResultEntity> arList, Integer status, String discardCode, String discardRemark);

    RespResult<AnnoResultDto> read(Integer arId);

    RespResult<SeriesGetResultDto> seriesGet(Integer userId, Integer taskId);

    List<AnnoResultEntity> getAnnoResultEntitys(List<Integer> arIdList);

    List<Integer> getUserIds(Integer taskId);

    PageInfo<AnnoResultEntity> search(AnnoResultSearchInDto input);

    AnnoResultExportResultOutDto export(List<Integer> taskIds);

    RespResult<DeepzoomUrlOutDto> deepzoomUrl(Integer taskId, String seriesUid);
}
